<?php
include('./SourceCode/Session.php');
include('./SourceCode/mysqli_connect.php');
include ('./SourceCode/functions.php');
$header_name = 'Trang đăng nhập';
include ('./Includes/Header.php');
include('./Includes/Menu.php');
//Nếu người dùng đã đăng nhập rồi thì không cho người dùng vào trang này nữa
if(isset($_SESSION['uid'])){
    Redirect();
}
//Kiểm tra xem form được submit hay chưa
if($_SERVER['REQUEST_METHOD']=='POST'){
    //Tạo 1 biến errors để kiểm tra
    $errors = array();
    //Kiểm tra tên đăng nhập nhập vào bằng biểu thức chính quy
    if(preg_match('/^[\w]{4,20}$/', trim($_POST['name'])))
    {
        $uname = mysqli_real_escape_string($dbc, trim($_POST['name']));
    }else{
        $errors[] = 'name';
    }
    if(preg_match('/^[\w\@-]{5,20}$/', trim($_POST['pass']))){
        $upass = mysqli_real_escape_string($dbc,trim($_POST['pass']));
    }else{
        $errors[] = 'pass';
    }
    if(empty($errors)){
        //Thực hiện câu lệnh truy vấn trong CSDL với tên đăng nhập và mật khẩu lấy từ form
        $query = "SELECT `user_id`,`user_name`,`user_avatar`,`user_online`,`user_language` FROM `user` WHERE `user_name`='{$uname}' AND `user_pass`=SHA1('{$upass}')";
        $result = mysqli_query($dbc, $query) or die("Query {$query} <br/> Query Error: ".  mysqli_error($dbc));
        if(mysqli_num_rows($result)==1){
            //Nếu có user thì tiến hành lưu thông tin của user vào session
            list($uid, $uname, $uavatar, $uonline, $ulang) = mysqli_fetch_array($result,MYSQLI_NUM);
            $_SESSION['uid']=$uid;
            $_SESSION['uname']=$uname;
            $_SESSION['uavatar']= $uavatar;
            $_SESSION['uonline']=$uonline+1;
            $_SESSION['ulang'] = $ulang;
            $pass = SHA1($upass);
            //Cập nhật cột user online trong bảng user để tiện check user online sau này
            $query = "UPDATE `user` SET `user_online` = 1 WHERE `user_name`='{$uname}' AND `user_pass`= '{$pass}'";
            $result = mysqli_query($dbc, $query) or die("Query {$query} <br/> Query Error: ".  mysqli_error($dbc));
            if(mysqli_affected_rows($dbc)>0){
                //Cập nhật user_online thành công tức đã xem user online
                //Truy vấn CSDL lấy ra các group_id public
                $query_select = "SELECT `group_id` FROM `groupchat` WHERE `group_private` = 0";
                $result_select = mysqli_query($dbc, $query_select);
                if(mysqli_num_rows($result_select)>0){
                    while($gr_ids = mysqli_fetch_array($result_select,MYSQLI_ASSOC)){
                        //Kiểm tra trong bảng connect xem có user_id này chưa, nếu chưa tức mới đăng nhập lần đầu
                        $query = "SELECT `user_id` FROM `connect` WHERE `group_id` = {$gr_ids['group_id']} AND `user_id`='{$uid}'";
                        $result = mysqli_query($dbc, $query);
                        if(mysqli_num_rows($result)<=0){                            
                            //Nếu là lần đầu đăng nhập thì thêm vào bảng connect để kết nối với public chat
                            $query = "INSERT INTO `connect`(group_id,user_id) VALUES({$gr_ids['group_id']},{$uid})";
                            $result = mysqli_query($dbc, $query) or die("Query {$query} <br/> Query Error: ".  mysqli_error($dbc));                            
                        }
                    }
                    Redirect();
                }                
            }
        }else{
            $message="Tên đăng nhập hoặc mật khẩu không chính xác.";
        }
    }else{
        $message="Tên đăng nhập hoặc mật khẩu không phù hợp.";
    }
}
?>
<div id='login-area'>
            <div id='login-head'>
                Chương trình chat đa ngôn ngữ
            </div>
            <form action='' method='POST'>
                <div id='error-mess'><?php if(isset($message)) echo $message; ?></div>
                <div class='login-div'>
                    <div class='login-img'>
                        <img src='Images/users.png' width='60' height='60' alt='img-user'/>
                    </div>
                <div class='login-input'>
                    <label class='login-label' for='name'>
                        Tên đăng nhập:
                    </label><br>
                    <input type='text' name='name' id='name' value='' size='20' tabindex='1' class='login-textbox'>
                </div>
                </div>
                <div class='login-div'>
                    <div class='login-img'>
                        <img src='Images/pass.png' width='60' height='60' alt='img-user'/>
                    </div>
                
                <div class='login-input'>
                    <label class='login-label' for='pass'>
                        Password:
                    </label><br>
                    <input type='password' name='pass' id='pass1' value='' size='20' tabindex='2' class='login-textbox'>
                </div>
                    </div>
                <div id='login-input-area'>
                    <div><input type='submit' name='submit' value='Đăng nhập' tabindex='4'></div>
                    <div class='login-button'><a href='Dangky.php' >Tạo tài khoản</a></div>
                    <div class='login-button'><a href='QuenMatKhau.php' >Quên mật khẩu</a></div>
                </div>
            </form>
        </div>
<?php
include('./Includes/Footer.php');
